package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.ApiResponse;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.domain.dto.DeviceHeartbeatRequestDTO;
import com.ruoyi.system.domain.dto.TbDeviceAndInfoCreateDTO;
import com.ruoyi.system.domain.vo.DevicePendingTasksResponse;
import com.ruoyi.system.domain.vo.DeviceTaskResultResponse;
import com.ruoyi.system.domain.vo.TaskMessage;
import com.ruoyi.system.domain.vo.TaskStatusPost;

import javax.validation.constraints.NotBlank;
import java.util.List;

public interface IInteractionService {
   R registrationAgent(TbDeviceAndInfoCreateDTO dto);

    DeviceTaskResultResponse getDeviceTaskResults(@NotBlank(message = "设备SN不能为空") String devSN);

    ApiResponse<DevicePendingTasksResponse> getDevicePendingTasks(@NotBlank(message = "设备SN不能为空") String devSN);

    ApiResponse<List<TaskMessage>> getDeviceAllPendingTasks(@NotBlank(message = "设备SN不能为空") String devSN);

    Boolean postDeviceTaskResults(TaskStatusPost post);


}
